package com.chagee.store.operation.server.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName WorkOrderDO  //类名称
 * @Description: 工单表(WorkOrder)实体类
 * @Author: Jacky-zhan	//作者
 * @CreateDate: 2024/2/26 16:47	//创建时间
 * @UpdateUser: Jacky-zhan
 * @UpdateDate: 2024/2/26 16:47	//更新时间
 * @UpdateRemark: 更新的信息
 * @Version: 1.0    //版本号
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "work_order", autoResultMap = true)
public class WorkOrderDO extends BaseDO {

	@TableId(type = IdType.AUTO)
	//工单id
	private Long id;
	//工单编号
	private String workOrderNumber;
	//门店编码
	private String storeCode;
	//门店名称
	private String storeName;
	//单据类型
	private Integer documentType;
	//单据状态
	private Integer documentStatus;
	//工单评分
	private String documentScore;
	//接单人
	private String receiver;
	//接单人电话
	private String receiverMobile;
	//供应商
	private String supplier;
	//拓展字段
	private String extra;

	//加盟商
	private String businessName;

	/**
	 * 门店性质 JM:加盟/LY:联营/ZY:直营
	 * @see com.chagee.store.operation.api.event.enums.StoreCategoryEnum
	 */
	private String storeCategory;

	/**
	 * 所属子公司组织id
	 */
	private String companyId;

	//所属子公司名称
	private String companyName;

	//接单时间
	private Date orderReceivingTime;

	//打烊完成时间
	private Date closingTime;

	//验收完成时间
	private Date acceptanceCompletionTime;

	/**
	 * 交接信息
	 */
	private String transfer;

	/**
	 * 供应商确认项信息
	 */
	private String deviceTakeOver;

	/**
	 * 开早验收提交方式
	 */
	private String acceptanceType;

	/**
	 * 扣罚金额
	 */
	private BigDecimal penalizeMoney;

	/**
	 * 申述结果
	 */
	private String appealResult;

	/**
	 * 供应商编码
	 */
	private String supplierNo;

	/**
	 * 过期时间
	 */
	private Date expiredTime;

	/**
	 * 过期申诉时间
	 */
	private  Date appealTime;

	/**
	 * 连续任务不合格标识
	 */
	private String continuousAcceptance;

	/**
	 * 申诉标识
	 */
	private String appealFlag;
}
